package redislock

import (
	"context"

	"github.com/gogf/gf/v2/frame/g"
)

// 获取redis锁，获取失败时返回错误
func AcquireLock(ctx context.Context, redisKey string) bool {

	result, err := g.Redis().SetNX(ctx, redisKey, "locked")
	if err != nil || !result {
		return false
	}

	// 设置有效期
	g.Redis().Expire(ctx, redisKey, 30*60)

	return true
}

// 获取redis锁，获取失败时返回错误
func ReleaseLock(ctx context.Context, redisKey string) {
	g.Redis().Del(ctx, redisKey)
}
